//
//  Object+ZJ.swift
//  ZJSwiftKit
//
//  Created by 万孟超 on 2023/6/25.
//

import Foundation
//import HandyJSON
//
//protocol ZJJSONDecodeProtocal: HandyJSON, ZJPrefixProtocol {
//    associatedtype ZJDecodeT where ZJDecodeT : HandyJSON
//
//    static func decode(result : Any) -> ZJDecodeT?
//
//    static func decode(result: [Any]) -> [ZJDecodeT]
//
//    var keyValue: [String : Any] {get}
//}
//
//extension ZJPrefix : ZJJSONDecodeProtocal {
//    typealias ZJDecodeT = Base
//
//
//}
//
//extension ZJJSONDecodeProtocal {
//    static func decode(result : Any) -> ZJDecodeT? where ZJDecodeT: HandyJSON {
//        if result is String {
//            return JSONDeserializer<ZJDecodeT>.deserializeFrom(json: result as? String)
//        }
//        if result is [String: Any] {
//            return JSONDeserializer<ZJDecodeT>.deserializeFrom(dict: result as? [String: Any])
//        }
//        if result is NSDictionary {
//            return JSONDeserializer<ZJDecodeT>.deserializeFrom(dict: result as? NSDictionary)
//        }
//        return nil
//    }
//
//    static func decode(result: [Any]) -> [ZJDecodeT] {
//        var decodeModel: [ZJDecodeT] = []
//        for resultData in result {
//            if let model = decode(result: resultData) {
//                decodeModel.append(model)
//            }
//        }
//        return decodeModel
//    }
//
//    var keyValue: [String : Any] {
//        toJSON() ?? [:]
//    }
//}
